import { defineWrappedResponseHandler } from "#server/utils/handler"; import { R } from "#server/utils/response"; import { resolveAgentIdentity } from "#server/service/agent/identity"; import { getSessionByIdAndUser, softDeleteSession } from "#server/service/agent/session"; import { getAgentBySlug } from "#server/service/agent/agent"; export default defineWrappedResponseHandler(async (event) => { const agentSlug = getRouterParam(event, "agentSlug"); const id = getRouterParam(event, "id"); if (!agentSlug || !id) { return R.error("参数无效", null); } const agent = await getAgentBySlug(agentSlug); if (!agent) { return R.error("agent 不存在", null); } const identity = await resolveAgentIdentity(event); const session = await getSessionByIdAndUser(id, identity.userId, identity.tempToken); if (!session) { return R.error("会话不存在", null); } if (session.agentId !== agent.id) { return R.error("会话不属于该 agent", null); } await softDeleteSession(id); return R.success({ id }); });